<?php
/**
 * Application level Controller
 *
 * This file is application-wide controller file. You can put all
 * application-wide controller-related methods here.
 *
 * PHP versions 4 and 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       cake
 * @subpackage    cake.cake.libs.controller
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */

/**
 * This is a placeholder class.
 * Create the same file in app/app_controller.php
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package       cake
 * @subpackage    cake.cake.libs.controller
 * @link http://book.cakephp.org/view/957/The-App-Controller
 */
class AppController extends Controller {
var $components = array('Auth', 'Session', 'Cookie');
var $uses = array ('Cocina','Bano', 'Exclusividade', 'Comedore', 'Escritorio');
	var $destacado =Array();
	var $destacado_tipo = Array();
	var $directorio_destacado = NULL;
	var $destacado_controller = NULL;
	
function beforeFilter() { // método de callback executado antes de qualquer filtragem do sistema
	
	if (isset($this->params['admin'])) {
		$this->Auth->deny('*'); //denegar el acceso cuando se quiere entrar a admin. 
		$this->set('admin',1);	
	}
	else {
		$this->Auth->allow('*'); // permite todas as que não forem admin
		$this->set('admin',0);	
	}
$this->Auth->authorize = 'controller'; //autorização feita pelo auth nos controladores, usando a função isAuthorized
$this->Auth->autoRedirect = true; //ativado redireciona o usuário para a requisição anterior que foi negada após o login
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login', 'admin' => false); //o usuário é redirecionado para esta ação caso não esteja autenticado
$this->Auth->logoutRedirect = array('controller' => 'pages', 'action' => 'home', 'admin' => false); //redireciona após o logout
$this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'login', 'admin' =>  true); //redireciona após login
$this->Auth->loginError = "Login incorrecto, usuario y/o password invalido"; //mensagem caso o login não tenha sucesso
$this->Auth->authError = "Ud. no tiene permiso para entrar a esta area. Por favor realice Login"; //mensagem caso o usuário acesse uma área restrita

	
/*	if (isset($_COOKIE["language"]))
	{
		$language = $_COOKIE["language"];
	}
	else
	{
		$language = "es";
	
		//include('views/pages/'.$language.'.ctp');

	}
*/

		$destacado_cocina = $this->Cocina->find('first',array('conditions' => array('Cocina.destacado' => '1'), 
					'order' => array('Cocina.timestamp ASC')));
		$destacado_bano = $this->Bano->find('first',array('conditions' => array('Bano.destacado' => '1'), 
					'order' => array('Bano.timestamp ASC')));
		$destacado_comedor = $this->Comedore->find('first',array('conditions' => array('Comedore.destacado' => '1'), 
					'order' => array('Comedore.timestamp ASC')));
		$destacado_escritorio = $this->Escritorio->find('first',array('conditions' => array('Escritorio.destacado' => '1'), 
					'order' => array('Escritorio.timestamp ASC')));
		$destacado_exclusividad = $this->Exclusividade->find('first',array('conditions' => array('Exclusividade.destacado' => '1'), 
					'order' => array('Exclusividade.timestamp ASC')));
		
		
		$menor = 2217117722;//4/04/2040 02:02:02 
		if (!empty($destacado_bano) ){
				$this->destacado = $destacado_bano;
				$this->destacado_tipo = "Bano";
				$menor = $destacado_bano['Bano']['timestamp'];
				$this->directorio_destacado = "bano/";
				$this->destacado_controller = "banos";
				
			
		}
		
		if (!empty($destacado_cocina) && ($destacado_cocina['Cocina']['timestamp'] < $menor)){
				$this->destacado = $destacado_cocina;
				$this->destacado_tipo = "Cocina";
				$menor = $destacado_cocina['Cocina']['timestamp'];
				$this->directorio_destacado = "cocina/";
				$this->destacado_controller = "cocinas";
				
		}

		if (!empty($destacado_comedor) && ($destacado_comedor['Comedore']['timestamp'] < $menor)){
				$this->destacado = $destacado_comedor;
				$this->destacado_tipo = "Comedore";
				$menor = $destacado_comedor['Comedore']['timestamp'];
				$this->directorio_destacado = "comedor/";
				$this->destacado_controller = "comedores";
				
		}
		
		if (!empty($destacado_escritorio) && ($destacado_escritorio['Escritorio']['timestamp'] < $menor)){
				$this->destacado = $destacado_escritorio;
				$this->destacado_tipo = "Escritorio";
				$menor = $destacado_escritorio['Escritorio']['timestamp'];
				$this->directorio_destacado = "escritorio/";
				$this->destacado_controller = "escritorios";
		}
		
		if (!empty($destacado_exclusividad) && ($destacado_exclusividad['Exclusividade']['timestamp'] < $menor)){
				$this->destacado = $destacado_exclusividad;
				$this->destacado_tipo = "Exclusividade";
				$menor = $destacado_exclusividad['Exclusividade']['timestamp'];
				$this->directorio_destacado = "exclusividad/";
				$this->destacado_controller = "exclusividades";
		}
		if (!empty($this->destacado_tipo)){
			$tipo = $this->destacado_tipo;
			$this->destacado[$tipo]['timestamp'] = time();
			$this->$tipo->save($this->destacado);
			
		}
		
		
				 //$this->set('destacado',$destacado );
				//$this->set('destacado_tipo',$destacado_tipo );
	

			//print_r($destacado);
			//print_r($destacado_tipo);

}

function isAuthorized() {
	return true; //pode ser mais complexo, fazendo verificações antes de autorizar com true;
}
}